home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Controls / Visual Basic Controls.iso / vbcontrol / intmail2 / httppost.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1999-07-30  |  2.9 KB  |  110 lines

  1. unit HttpPostMain;
  2.  
  3. interface
  4.  
  5. uses
  6.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  7.   StdCtrls, ComCtrls, ShellAPI, Mssocket, mshttp;
  8.  
  9. type
  10.   TPostTestForm = class(TForm)
  11.     Label1: TLabel;
  12.     Label2: TLabel;
  13.     Label3: TLabel;
  14.     Label4: TLabel;
  15.     FormMemo: TMemo;
  16.     PostButton: TButton;
  17.     CancelButton: TButton;
  18.     Label5: TLabel;
  19.     ResultsMemo: TMemo;
  20.     StatusBar: TStatusBar;
  21.     msHTTPClient1: TmsHTTPClient;
  22.     CityEdit: TEdit;
  23.     CountryEdit: TEdit;
  24.     Label6: TLabel;
  25.     Label7: TLabel;
  26.     procedure PostButtonClick(Sender: TObject);
  27.     procedure Label7Click(Sender: TObject);
  28.     procedure msHTTPClient1Connecting(Sender: TObject);
  29.     procedure msHTTPClient1Connected(Sender: TObject);
  30.     procedure msHTTPClient1Disconnected(Sender: TObject);
  31.     procedure msHTTPClient1RequestSent(Sender: TObject);
  32.     procedure msHTTPClient1SendingRequest(Sender: TObject);
  33.     procedure msHTTPClient1TransferProgress(Sender: TObject; Perc,
  34.       ByteCount, LineCount: Longint);
  35.   private
  36.     procedure EnableControls(Enable: boolean);
  37.     { Private declarations }
  38.   public
  39.     { Public declarations }
  40.   end;
  41.  
  42. var
  43.   PostTestForm: TPostTestForm;
  44.  
  45. implementation
  46.  
  47. {$R *.DFM}
  48.  
  49. procedure TPostTestForm.EnableControls(Enable: boolean);
  50. begin
  51.   PostButton.Enabled:=Enabled;
  52.   CancelButton.Enabled:=not Enabled;
  53. end;
  54.  
  55. procedure TPostTestForm.PostButtonClick(Sender: TObject);
  56. var
  57.   PostData: ShortString;
  58. begin
  59.   EnableControls(false);
  60.   try
  61.     msHTTPClient1.URL:='http://www.argosoft.com/cgi-bin/PostTest.exe';
  62.     PostData:=Concat('city=',CityEdit.Text,'&country=',CountryEdit.Text);
  63.     msHTTPClient1.OutStream.Write(PostData[1],Length(PostData));
  64.     msHTTPClient1.OutStream.Position:=0;
  65.     msHTTPClient1.Post;
  66.     msHTTPClient1.InStream.Position:=0;
  67.     ResultsMemo.Lines.LoadFromStream(msHTTPClient1.InStream);
  68.   finally
  69.     EnableControls(true);
  70.   end;
  71. end;
  72.  
  73. procedure TPostTestForm.Label7Click(Sender: TObject);
  74. begin
  75.   ShellExecute(Handle,'open','http://www.argosoft.com/delphi/PostTest.html','','',SW_SHOW);
  76. end;
  77.  
  78. procedure TPostTestForm.msHTTPClient1Connecting(Sender: TObject);
  79. begin
  80.   StatusBar.SimpleText:='Connecting to '+msHTTPClient1.Host;
  81. end;
  82.  
  83. procedure TPostTestForm.msHTTPClient1Connected(Sender: TObject);
  84. begin
  85.   StatusBar.SimpleText:='Connected';
  86. end;
  87.  
  88. procedure TPostTestForm.msHTTPClient1Disconnected(Sender: TObject);
  89. begin
  90.   StatusBar.SimpleText:='Disconnected';
  91. end;
  92.  
  93. procedure TPostTestForm.msHTTPClient1RequestSent(Sender: TObject);
  94. begin
  95.   StatusBar.SimpleText:='Request has been sent';
  96. end;
  97.  
  98. procedure TPostTestForm.msHTTPClient1SendingRequest(Sender: TObject);
  99. begin
  100.   StatusBar.SimpleText:='Sending request';
  101. end;
  102.  
  103. procedure TPostTestForm.msHTTPClient1TransferProgress(Sender: TObject;
  104.   Perc, ByteCount, LineCount: Longint);
  105. begin
  106.   StatusBar.SimpleText:=IntToStr(ByteCount)+' bytes received';
  107. end;
  108.  
  109. end.
  110.